P2V迁移指南
一 、迁移前的准备工作
1、 准备共享文件环境
由于在迁移过程中涉及到虚拟磁盘文件的存放,因此需要准备文件共享环境;如果客户现场有文件共享服务器当然可以借用客户的。如果当客户现场没有文件系统时可以借助 JCOS 平台的存储空间,进行搭建文件共享环境。
1) Windows 共享文件
与常规文件夹共享方法一般无二,因此不做介绍
2) NFS 文件系统
Cent OS 7 安装部署 NFS 文件系统 安装
yum -y install nfs-utils rpcbind
创建共享目录
mkdir /mnt/p2v
配置 NFS
NFS 的默认配置文件为:/etc/expots 默认为空;
vim /etc/exports
/mnt/p2v/ *(rw,no_root_squash,no_all_squash,sync)
在此有关 NFS 配置文件/etc/exports 中的几个参数,需要先介绍下:
ro 该主机对该共享目录有只读权限。
rw 该主机对该共享目录有读写权限,需要配合 no_root_squash 参数使用。
root_squash 该参数为缺省参数,客户机用 root 用户访问该共享文件夹时,将 root 用户映射成匿名用户即 nobody 用 户不具有对目录具有创建和删除操作。
no_root_squash 客户机用 root 访问该共享文件夹时,不映射 root 用户。即具有 root 用户所有权限,具有对目录具有 创建和删除操作。
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户。anonuid 将客户机上的用户映射成指定的本地用户 ID 的用户。 anongid 将客户机上的用户映射成属于指定的本地用户组 ID。
sync 资料同步写入到内存与硬盘中。
async 资料会先暂存于内存中,而非直接写入硬盘。
NFS 配置文件设置好后需要对其服务重新启动并设置为开机启动。 service rpcbind start
service nfs start chkconfig rpcbind on chkconfig nfs on
挂载:
挂载前先测试一下是否可以挂载:
showmount -e 192.168.1.97 #查看可挂载Export list for 192.168.1.97:
/mnt/p2v 192.168.1.0/24
挂载到客户端:
mount -t nfs 192.168.1.97:/mnt/p2v /mnt/p2v
二、VMware vCenter Converter 在线P2V 工具
2.1 Converter 介绍
VMware® vCenter Converter Standalone 是一种用于将虚拟机和物理机转换为 VMware 虚拟机的可扩展解决 方案。在 JCOS 环境中我们可以利用它在线对应用 P2V 的特性,实现业务在线 P2V 迁移;迁移耗时比较长,因为中间 会涉及到磁盘镜像格式转换过程。
2.2 迁移思路
通过 Converter 进行 P2V 主要思路是:
1、 通过 Converter 工具得到物理服务器的虚拟磁盘文件 VMDK;
2、 通过 qemu-img 命令对 vmdk 文件进行转换;
3、 使用转换后的磁盘文件创建虚拟机,进行驱动的安装
2.3 操作步骤
打开 VMware vCenter Converter ,打开之后出现如图所示界面:
创建一个迁移任务:
鼠标点击 Convert Machine,弹出任务向导,如图所示:
选择源的类型,通常在线迁移的物理机电源都是处于打开状态的;同时选择远程物理服务器操作系统类型:
Windows 和 Linux。
选择好远程主机类型之后,输入机器的 IP 地址以及管理员账号和密码(超级管理员权限);然后点击 Next;点击 Next
之后 Convert 会向主机发起连接并安装 Agent 代理工具;如图所示:
迁移任务完成之后 Agent 卸载方式;自动卸载或者手动卸载。 目标配置
选择目标类型:可以是 VMwareWorkstation,也可以是 VMware ESXi 环境,JCOS 环境下的 P2V 通常选择
VMwareWorkstation 就可以了 ,配置好共享文件路径及其账号密码。继续往下操作。
虚拟机自定义配置
物理主机的资源情况汇总 图中描述了物理主机的详细配置情况,可以根据实际情况进行自定义配置;可以对磁盘、内存、CPU、网络等进行自定义配置。首先需要对磁盘进行处 理,可以根据实际情况来调整磁盘分区及大小。具体操作如图:
根据实际情况对磁盘、分区以及迁移的大小进行调节;例如:我只需要对主机操作系统进行迁移,那么我可以直接勾选C:就可以了,其他的分区盘符前 面的够可以去掉;同时我不想迁移物理磁盘的全部空间,只迁移最小磁盘空间;操作如图:
在向 JCOS 平台 P2V 时只需要对磁盘进行调整就可以了,其它配置默认即可。因为我们只需要用 VMDK 磁盘文件而已。当磁盘相关配置完成之后直接点 击 Next;
所有配置汇总,无误点击 Finish,开始迁移任务;
迁移过程比较长,等待进度到 100%。
三、转换磁盘格式、安装驱动
通过 Convert 将物理主机转换成 VMDK格式的虚拟磁盘文件之后还不能立即上传到 JCOS 平台中去使用,需要对 VMDK 磁盘文件进行转换,并安装驱动 程序。步骤如下:
1、 将 Windows 共享文件夹挂载到Linux 系统下 首先在 Linux 系统下创建一个目录
mkdir /mnt/CIFS
挂载:
mount -t cifs -o username=administrator,password=1 //192.168.99.232/g /mnt/CIFS/
2、 将 Windows 共享文件中的 VMDK 磁盘文件复制到 Linux 系统下的分区
cd /mnt/CIFS
scp *.vmdk root@127.0.0.1:/mnt/NFS
3、 将 VMDK 转换成 raw 格式的磁盘文件
qemu-img convert –p –f vmdk –O raw *.vmfk *.img
4、 通过现有磁盘文件创建 KVM 虚拟机
点击开始安装,测试转换磁盘格式后虚拟机能否正常启动。
5、 安装驱动
当对 VMDK 磁盘文件格式转换后,还需要安装虚拟磁盘驱动以及虚拟网卡驱动;驱动安装步骤如下: 为虚拟机新建一个虚拟磁盘;将总线设置为VirtIO 模式,操作如图:
将网卡也设置为 VirtIO 模式;操作如图:
挂载驱动安装包:
需要安装的驱动
选择驱动程序位置
按照以上步骤安装完所有驱动,然后将虚拟机关机。
关机后将虚拟磁盘总线格式由 IDE 改为VirtIO 模式,然后重新启动虚拟机,测试驱动安装后虚拟机是否正常启动。 验证测试完之后就可以将虚拟机磁盘文件上传到 JCOS 平台了。
四、通过Virt-v2v 工具进行 P2V
4.1Virt-v2v 介绍
Virt P2V 由 virt-p2v-server(包括在 virt-v2v 软件包中)和 P2V client 组成。p2v.iso 是一个基于定制 Linux 的可引 导磁盘映像。为了把一个物理机转换为一个可以在 libvirt 管理的 KVM 上运行的虚拟机,通过p2v.iso 引导机器,并 把它连接到一个安装了 virt-v2v 的 V2V 转换服务器来进行转换。
4.2 安装 Virt-v2v
1、安装前的准备
安装 Virt-v2v 前需要准备一个 CentOS 或者 Red Hat 的 64 位版本 Linux 主机,系统安装步骤略过,不做介绍;本文 Virt-v2v 安装系统以 CentOS 7 为例。
安装所需的先决条件软件
在转换 Windows 虚拟机前,需要先安装 libguestfs-winsupport软件包和 virtio-win软件包。这些 软件包 提供了对 NTFS 的支持,以及 Windows 准虚拟化(para-virtualized)块设备和网络的驱动。
如果您试图转换使用 NTFS 却没有安装 libguestfs-winsupport 软件包的虚拟机,转换操作将会失 败。
如果您试图转换没有安装 virtio-win 软件包的 Windows 虚拟机,转换操作将会失败。 以上先决条件已经在 Virt-v2v 包中得到解决。
2、 开始安装 Virt-v2v
安装 Virt-v2v 很简单,只需要一条命令即可安装完成,操作如下:[root@compute ~]# yum install virt-v2v
已经包含了 libguestfs-winsupport 安装包。
输入 Y 继续安装
安装完成
3、 制作 virt-p2v 引导盘
在 http://oirase.annexia.org/virt-p2v/ 下载最新的 virt-p2v ISO 文件,并制刻录成光盘。
4.3 通过 virt-p2v 对 Windows 主机进行迁移
安装完Virt-v2v 并完成 virt-P2V 启动镜像的制作后就可以对物理主机进行迁移了,操作步骤如下: 1、 物理主机重启并通过 virt-P2V 光盘引导启动
选择 Start LiveCD P2V 按回车;将会引导系统。
2、 通过 SSH 连接 Convert Server
这里的 Convert Server 就是安装 Virt-v2v 的那个 Linux 主机。按照图中填写相关连接信息,然后测试这个连接 是否可以正常连接;测试正常,直接点击 Next。如果测试过程报错则需要检查一下网络配置,及Convert Server 是否开启 SSH 连接,并允许 Root 账号登录。
3、 P2V 前的配置
3.1
Target properties
设置 P2V 之后的虚拟机名称及vCPU、内存。
3.2 Virt-v2v 输出设置
3.3 Fixed hard disks
勾选物理主机需要 Convert 的磁盘
3.4 Removable media
3.5 Network interfaces
配置汇总
确认配置无误之后点击 Start conversion 开始 P2V;日志及进展如下图所示:
迁移过程很漫长同样需要等到 100%.
Convert 完成,完成之后可以通过命令查看镜像相关信息
接下来就是测试转化后的磁盘是否能正常启动以及 VirtIO 驱动的安装。方法跟第一节中一致,不在赘述。
五、通过 Clonezilla 进行 P2V
Clonezilla 不需要安装,只需要从官网下载下来并刻录成光盘即可。下载地址:http://clonezilla.nchc.org.tw/clonezilla-live/download/download.php?branch=alternative
1、将主机重启并通过 Clonezilla 进行引导
2、选择语言
3、键盘设置
4、 使用再生龙
5、选择使用模式
6、 选择镜像文件存放位置,很多选项可供选择。这里我选择 NFS
7、网卡选择;如果物理主机有多个网卡则需要选择能跟文件储存服务器能通的网卡
选择 IP 获取方式 生产环境一般都采用 Static 的方式;
8、NFS 相关设置
选择 NFS 版本
设置 NFS 服务器 IP 地址
设置挂载 NFS 路径
按照提示继续
10、选择模式,初级模式和专家模式
如果不做其他特殊配置直接选择初学者模式即可。
11、选择模式,选择是将硬盘储存为镜像还是将分区储存为镜像
12、镜像名称,输入后会在 NFS 中生成这个一个文件夹目录。
13、选择源盘
14、附加设置
如果选择检查保存的镜像,将增加 P2V 时间,根据需求自行选择。
输入 y,开始克隆迁移
克隆完成,可以看一下目录下的文件
通过查看,发现目录里面并没有我们需要的镜像文件,而是大堆零散文件;要得到镜像文件则需要进行还原。操作如下:
在 KVM 中创建虚拟机,步骤略。 为虚拟机挂载 Clonezilla ISO 文件
然后将启动方式设置为从 CDROM 启动。
然后启动虚拟机
选择还原镜像文件到本机硬盘
会自动搜索目录下的镜像文件信息
选择目标盘
额外参数设置
按照提示继续
告警提示!两次告警提示之后 输入 y 就开始恢复了,恢复时间根据硬盘实体数据大小来定。
恢复完成之后,依然是测试看能否正常开机,安装 VirtIO 驱动;驱动安装第一节中已经讲述。